Thuật toán tiến hóa là gì? Các nghiên cứu khoa học liên quan

Thuật toán tiến hóa là phương pháp tối ưu hóa dựa trên chọn lọc tự nhiên và di truyền học, mô phỏng tiến hóa để cải thiện quần thể giải pháp. Quần thể giải pháp khởi tạo ngẫu nhiên trải qua lai ghép, đột biến và chọn lọc dựa trên hàm thích nghi nhằm hội tụ về nghiệm tối ưu.

Định nghĩa thuật toán tiến hóa

Thuật toán tiến hóa (Evolutionary Algorithm, EA) là phương pháp tối ưu hóa và tìm kiếm giải pháp dựa trên nguyên lý chọn lọc tự nhiên, di truyền học và cơ chế tiến hóa sinh học. Khởi đầu từ một quần thể các cá thể (mỗi cá thể biểu diễn một giải pháp), EA áp dụng các toán tử như lai ghép (crossover), đột biến (mutation) và chọn lọc (selection) để tạo ra thế hệ mới với hy vọng gia tăng chất lượng tổng thể.

Mỗi cá thể được mã hóa dưới dạng chuỗi gen (binary string, vector số thực hoặc cây biểu thức) và đánh giá bằng hàm thích nghi (fitness function). Giá trị fitness xác định khả năng "sống sót" và "sinh sản" của cá thể, từ đó những cá thể có fitness cao sẽ có xác suất sinh con cao hơn, dần hình thành quần thể hội tụ về giải pháp tối ưu.

Quá trình tiến hóa lặp đi lặp lại cho đến khi đạt điều kiện dừng: số thế hệ tối đa, fitness đạt ngưỡng hoặc không có cải thiện đáng kể. EA có ưu điểm khả năng tìm kiếm toàn cục, không yêu cầu tính khả vi hay liên tục của hàm mục tiêu, phù hợp với các bài toán phức tạp, nhiễu và đa cực trị.

Lịch sử và phát triển

Năm 1954, Rosenblatt đề xuất ý tưởng Perceptron với phần học dựa trên điều chỉnh trọng số gợi nhớ cơ chế tiến hóa của tự nhiên. Thập niên 1960–1970, Fraser và Schwefel phát triển Evolution Strategies (ES) tại Đức, tập trung vào tối ưu hóa số thực và điều chỉnh kích thước bước nhảy.

Trong cùng thời kỳ, Fogel, Owens và Walsh ở Hoa Kỳ giới thiệu Evolutionary Programming (EP), tập trung vào cải tiến cấu trúc và hành vi của các chương trình máy tính. Sang thập niên 1980, John Holland hệ thống hóa Genetic Algorithms (GA), đưa ra mô hình lai ghép và chọn lọc dùng chuỗi nhị phân.

Đến năm 1992, thuật ngữ chung Evolutionary Algorithm xuất hiện, bao quát GA, ES, EP và mở ra kỷ nguyên nghiên cứu EA tổng quát. Từ đó đến nay, cộng đồng nghiên cứu phát triển đa dạng biến thể: từ multi-objective EA (NSGA-II) đến các thuật toán lai ghép với học máy, mở rộng ứng dụng sang xử lý ảnh, học sâu và tối ưu hóa công nghiệp.

Phân loại chính

Thuật toán tiến hóa chia theo cấu trúc và cách mã hóa cá thể, gồm bốn nhóm chính:

  • Genetic Algorithms (GA): cá thể mã hóa dưới dạng chuỗi nhị phân hoặc số thực, sử dụng lai ghép đa điểm và đột biến bit.
  • Evolution Strategies (ES): tối ưu hóa số thực, cá thể mang tham số đột biến, tự điều chỉnh biến thể đột biến.
  • Evolutionary Programming (EP): tập trung vào đột biến mạnh, không dùng lai ghép, phù hợp với tối ưu hóa hành vi và mô hình thời gian thực.
  • Genetic Programming (GP): mã hóa cá thể dưới dạng cây biểu thức, thích hợp cho sinh chương trình máy tính hoặc phát hiện quy tắc.
Loại EAMã hóaToán tử chínhỨng dụng tiêu biểu
GA Chuỗi nhị phân/số thực Lai ghép (crossover), Đột biến (mutation) Tối ưu rời rạc, thiết kế mạng lưới
ES Vector số thực Đột biến có phân phối Gaussian Tối ưu hàm số liên tục, điều khiển robot
EP Biểu diễn hành vi Đột biến mạnh Mô hình hóa hệ thống động
GP Cây biểu thức Lai ghép cây, Đột biến cây Khám phá quy tắc, lập trình tự động

Các biến thể kết hợp giữa GA và ES hay tích hợp với mạng nơ-ron ngày càng phổ biến, khai thác ưu điểm của từng phương pháp để tăng hiệu suất và tính khả dụng trong thực tiễn.

Cơ sở sinh học

EA mô phỏng quá trình tiến hóa sinh học gồm bốn nguyên lý cốt lõi: chọn lọc tự nhiên (natural selection), di truyền (inheritance), lai ghép (recombination) và đột biến (mutation). Chọn lọc tự nhiên đảm bảo các cá thể có fitness cao có xác suất cao truyền gen sang thế hệ tiếp theo.

Lai ghép tái phối hợp gen giữa hai cá thể, tương tự giao phối sinh học, giúp khám phá không gian giải pháp mới. Đột biến biến đổi gen ngẫu nhiên, duy trì đa dạng di truyền, giảm nguy cơ hội tụ sớm vào nghiệm cục bộ.

Quá trình này lặp đi lặp lại qua các thế hệ, tích lũy dần các đặc tính ưu việt và loại bỏ dần các gen kém thích nghi, dẫn đến quần thể hội tụ về giải pháp tối ưu hoặc gần tối ưu theo tiêu chí định trước.

Thành phần chính và toán tử

Thuật toán tiến hóa bao gồm sáu thành phần cơ bản: khởi tạo quần thể, đánh giá fitness, chọn lọc, lai ghép, đột biến và thay thế. Quần thể ban đầu P₀ thường được tạo ngẫu nhiên hoặc dựa trên kinh nghiệm, đảm bảo đa dạng khởi tạo.

Đánh giá fitness ánh xạ mỗi cá thể thành giá trị số, thể hiện chất lượng giải pháp. Hàm fitness có thể là hàm mục tiêu đơn hoặc đa mục tiêu; với bài toán đa mục tiêu, EA thường sử dụng công cụ như NSGA-II để phân loại cá thể theo biên Pareto citeieeexplore.ieee.org/document/996017.

Chọn lọc (selection) xác định cá thể làm cha mẹ cho thế hệ sau. Các phương pháp phổ biến bao gồm:

  • Roulette wheel: xác suất chọn tỉ lệ thuận với fitness.
  • Tournament: ngẫu nhiên chọn nhóm nhỏ và chọn cá thể tốt nhất trong nhóm.
  • Rank selection: sắp xếp cá thể theo fitness rồi phân phối xác suất đều hơn.

Lai ghép (crossover) kết hợp gen từ hai cha mẹ để tạo con, thường dùng một điểm (one-point) hoặc đa điểm (multi-point) với chuỗi nhị phân, hoặc crossover tuyến tính cho vector số thực. Đột biến (mutation) thay đổi ngẫu nhiên một phần gen để duy trì đa dạng di truyền.

Toán tửChuỗi nhị phânSố thực
One-point crossoverĐảo chéo tại vị trí ngẫu nhiênKhông áp dụng
Arithmetic crossoverKhông áp dụng<αxi+(1α)yi><\alpha x_i + (1-\alpha) y_i>
Bit-flip mutationĐổi 0⇄1 với xác suất pKhông áp dụng
Gaussian mutationKhông áp dụngThêm nhiễu N(0,σ2)N(0,\sigma^2)

Biểu diễn và mã hóa

Cách mã hóa cá thể ảnh hưởng trực tiếp đến hiệu quả tìm kiếm. Các dạng mã hóa phổ biến:

  • Binary string: mã hóa bit phù hợp với bài toán rời rạc, dễ áp dụng toán tử bit-flip và crossover.
  • Real-valued vector: phù hợp với tối ưu hóa liên tục, cho phép sử dụng toán tử số học và đột biến Gaussian.
  • Expression tree: trong Genetic Programming, cá thể là cây biểu thức đại diện cho chương trình hoặc công thức toán học.

Ví dụ mã hóa số thực cho biến x, y:

  1. Khởi tạo ngẫu nhiên trong khoảng [a,b][a,b].
  2. Áp dụng arithmetic crossover: zi=αxi+(1α)yiz_i = \alpha x_i + (1-\alpha) y_i.
  3. Mutation theo Gaussian: xi=xi+N(0,σ2)x_i' = x_i + N(0,\sigma^2).

Ưu điểm của mã hóa số thực là giảm số tham số và cho phép khám phá gradient ngẫu nhiên, tuy nhiên dễ rơi vào extrema cục bộ nếu p_mutation quá thấp.

Hàm thích nghi (Fitness Function)

Hàm thích nghi xác định độ “tốt” của mỗi cá thể. Với bài toán tối ưu đơn mục tiêu, thường dùng giá trị hàm mục tiêu hoặc nghịch đảo chi phí. Với bài toán đa mục tiêu, EA sử dụng chiến lược không thống nhất (non-dominated sorting) như NSGA-II để phân hạng và duy trì đa dạng citeieeexplore.ieee.org/document/996017.

Trong một số trường hợp, fitness là hàm kết hợp nhiều tiêu chí:

fitness=w1f1(x)+w2f2(x)++wkfk(x) \text{fitness} = w_1 f_1(x) + w_2 f_2(x) + \dots + w_k f_k(x)

trong đó wiw_i là trọng số ưu tiên. Cần đảm bảo các hàm con fif_i cùng thang đo hoặc được chuẩn hóa để tránh thiên lệch.

Quy trình tổng quát

Quy trình thuật toán tiến hóa thường lặp lại theo sáu bước:

  1. Khởi tạo quần thể P₀ với N cá thể.
  2. Đánh giá fitness cho Pₜ.
  3. Chọn lọc cá thể làm bố mẹ từ Pₜ.
  4. Áp dụng lai ghép và đột biến để sinh quần thể con Qₜ.
  5. Đánh giá fitness Qₜ và hợp nhất với Pₜ để tạo Pₜ₊₁.
  6. Kiểm tra điều kiện dừng: số thế hệ, fitness tối đa hoặc hội tụ.

Sự kết hợp giữa chọn lọc elitist (giữ lại cá thể tốt nhất) và xác suất ngẫu nhiên giúp cân bằng giữa khai thác (exploitation) và khám phá (exploration).

Ứng dụng

Thuật toán tiến hóa có mặt trong nhiều lĩnh vực:

  • Kỹ thuật: tối ưu thiết kế kết cấu, bố trí thiết bị, tối ưu luồng công việc trong sản xuất.
  • Học máy: chọn tính năng, tối ưu siêu tham số cho mô hình học sâu.
  • Tài chính: tối ưu danh mục đầu tư, mô hình định giá quyền chọn không tuyến tính.
  • Điều khiển tự động: tinh chỉnh bộ điều khiển PID, lập kế hoạch chuyển động cho robot.

Các công cụ phổ biến như DEAP (Python) hay ECJ (Java) hỗ trợ nhanh việc triển khai và tùy biến EA cho bài toán cụ thể citesciencedirect.com/science/article/pii/S095741741100536X.

Ưu điểm và hạn chế

Ưu điểm: khả năng tìm kiếm toàn cục, không yêu cầu tính khả vi của hàm mục tiêu, dễ tích hợp với các phương pháp khác, xử lý tốt bài toán nhiễu và đa cực trị.

Hạn chế: chi phí tính toán lớn với kích thước quần thể và số thế hệ cao, dễ hội tụ sớm vào nghiệm cục bộ, hiệu quả phụ thuộc vào tham số thuật toán và cách mã hóa.

Tiêu chíƯu điểmHạn chế
Tìm kiếm toàn cục Cao Chi phí tính toán lớn
Yêu cầu gradient Không Khó điều chỉnh tham số
Khả năng mở rộng Rộng rãi Phụ thuộc dữ liệu khởi tạo

Tài liệu tham khảo

Các bài báo, nghiên cứu, công bố khoa học về chủ đề thuật toán tiến hóa:

CiteSpace II: Phát hiện và hình dung xu hướng nổi bật và các mẫu thoáng qua trong văn học khoa học Dịch bởi AI
Wiley - Tập 57 Số 3 - Trang 359-377 - 2006
Tóm tắtBài viết này mô tả sự phát triển mới nhất của một cách tiếp cận tổng quát để phát hiện và hình dung các xu hướng nổi bật và các kiểu tạm thời trong văn học khoa học. Công trình này đóng góp đáng kể về lý thuyết và phương pháp luận cho việc hình dung các lĩnh vực tri thức tiến bộ. Một đặc điểm là chuyên ngành được khái niệm hóa và hình dung như một sự đối ngẫ...... hiện toàn bộ
#CiteSpace II #phát hiện xu hướng #khoa học thông tin #mặt trận nghiên cứu #khái niệm nổi bật #đồng trích dẫn #thuật toán phát hiện bùng nổ #độ trung gian #cụm quan điểm #vùng thời gian #mô hình hóa #lĩnh vực nghiên cứu #tuyệt chủng hàng loạt #khủng bố #ngụ ý thực tiễn.
Phát triển một thuật toán lập lịch cải tiến cho các hoạt động xét nghiệm trong phòng thí nghiệm trên nền tảng Robot Sinh học nhỏ gọn Dịch bởi AI
SLAS Technology - Tập 15 - Trang 15-24 - 2010
Các xét nghiệm máu là một trong những quy trình cốt lõi trong lĩnh vực xét nghiệm phòng thí nghiệm lâm sàng. Tại các bệnh viện, một quy trình tự động gọi là tự động hóa phòng thí nghiệm tổng thể (TLA), dựa vào một tập hợp thiết bị tinh vi, thường được áp dụng cho các xét nghiệm. Tuy nhiên, do hệ thống TLA thường có kích thước lớn và yêu cầu một lượng điện năng đáng kể, nên việc sử dụng thi...... hiện toàn bộ
Áp dụng thuật toán tiến hoá cải tiến để giải bài toán ngược trọng lực
Vietnam Journal of Earth Sciences - Tập 31 Số 4 - 2009
Application of modified evolution algorithms to solve the inverse gravity problem
PHẪU THUẬT NỘI SOI ĐẶT MẢNH GHÉP HOÀN TOÀN NGOÀI PHÚC MẠC ĐIỀU TRỊ THOÁT VỊ BẸN Ở BỆNH NHÂN TRÊN 40 TUỔI NĂM 2020 – 2022
Tạp chí Y Dược học Cần Thơ - - 2022
  Đặt vấn đề: Thoát vị bẹn là một bệnh lý ngoại khoa thường gặp, có nhiều phương pháp điều trị bao gồm mổ mở và nội soi. Tại Cần Thơ, phẫu thuật nội soi đặt mảnh ghép hoàn toàn ngoài phúc mạc điều trị thoát vị bẹn ở những bệnh nhân trên 40 tuổi chưa được nghiên cứu một cách đầy đủ, vì vậy chúng tôi tiến hành thực hiện nghiên cứu này. Mục tiêu nghiên cứu: 1. Mô tả đặc điểm lâm sàng, cận lâm sà...... hiện toàn bộ
#Thoát vị bẹn #bệnh nhân trên 40 tuổi #phẫu thuật nội soi đặt mảnh ghép hoàn toàn ngoài phúc mạc
Các thuật toán tiến hóa và ứng dụng trong điều khiển tự động.
Tạp chí tin học và điều khiển học - Tập 17 Số 3 - Trang 1-14 - 2012
-
Ưng dụng thuật toán tiến hóa giải bài toán tối ưu đa mục tiêu.
Tạp chí tin học và điều khiển học - Tập 16 Số 3 - Trang 16-22 - 2013
-
ĐẶC ĐIỂM LÂM SÀNG CỦA BỆNH NHÂN U XƠ TỬ CUNG CÓ CHỈ ĐỊNH CẮT TỬ CUNG HOÀN TOÀN QUA NỘI SOI TẠI BỆNH VIỆN PHỤ SẢN HÀ NỘI
Tạp chí Y học Việt Nam - Tập 516 Số 1 - 2022
Mục tiêu: Đặc điểm lâm sàng của bệnh nhân u xơ tử cung có chỉ định cắt tử cung hoàn toàn qua nội soi tại Bệnh viện Phụ sản Hà Nội. Phương pháp nghiên cứu: Nghiên cứu mô tả tiến cứu trên 120 bệnh nhân u xơ tử cung được chỉ định cắt tử cung hoàn toàn qua nội soi tại Bệnh viện Phụ sản Hà Nội từ tháng 08/2019 đến tháng 05/2020. Kết quả: Tuổi trung bình của đối tượng nghiên cứu là 48.1± 4.2, chủ yếu là...... hiện toàn bộ
#u xơ tử cung #phẫu thuật nội soi cắt tử cung hoàn toàn
THỰC TRẠNG CHUẨN BỊ NGƯỜI BỆNH TRƯỚC PHẪU THUẬT CÓ KẾ HOẠCH CỦA ĐIỀU DƯỠNG TẠI KHOA NGOẠI TIẾT NIỆU – BỆNH VIỆN ĐẠI HỌC Y HÀ NỘI
Tạp chí Y học Việt Nam - Tập 521 Số 2 - 2022
Mục tiêu: mô tả thực trạng chuẩn bị người bệnh trước phẫu thuật có kế hoạch của điều dưỡng tại Khoa ngoại Tiết niệu - Bệnh viện Đại học Y Hà Nội. Đối tượng và phương pháp nghiên cứu: 250 người bệnh tuổi ≥18 có chỉ định và được chuẩn bị trước phẫu thuật có kế hoạch tại Khoa Ngoại Tiết niệu Bệnh viện Đại học Y Hà Nội bằng thiết kế mô tả cắt ngang. Kết quả: 42,8% biểu mẫu cam kết thực hiện phẫu thuật...... hiện toàn bộ
#chuẩn bị trước phẫu thuật #an toàn người bệnh
Tối ưu kích thước các thành viên của cấu trúc khung bằng thiết kế trực tiếp và thuật toán tiến hóa phân biệt tự thích nghi Dịch bởi AI
Vietnam Journal of Science, Technology and Engineering - Tập 63 Số 2 - Trang 39-44 - 2021
Thiết kế trực tiếp bằng phân tích phi tuyến không đàn hồi gần đây đã được cho phép cho thiết kế cấu trúc vì phương pháp này có thể dự đoán trực tiếp hành vi của cấu trúc dưới dạng tổng thể, từ đó loại bỏ các kiểm tra khả năng chịu lực cho từng thành viên cấu trúc riêng lẻ. Tuy nhiên, việc sử dụng thiết kế trực tiếp thường đi kèm với nỗ lực tính toán quá mức, đặc biệt đối với các vấn đề thiết kế cấ...... hiện toàn bộ
#differential evolution #direct design #nonlinear inelastic analysis #optimization #truss
ĐÁNH GIÁ KẾT QUẢ SỐNG THÊM 10 NĂM HOÁ - XẠ TRỊ ĐỒNG THỜI SAU PHẪU THUẬT UNG THƯ TRỰC TRÀNG GIAI ĐOẠN II-III TẠI BỆNH VIỆN K
Tạp chí Y học Việt Nam - Tập 515 Số 1 - 2022
Mục tiêu nghiên cứu: Đánh giá một số yếu tố tiên lượng ảnh hưởng đến thời gian sống thêm lâu dài của hóa xạ trị đồng thời bổ trợ trong ung thư trực tràng sau phẫu thuật. Đối tượng và phương pháp nghiên cứu: Nghiên cứu hồi cứu 75 người bệnh ung thư trực tràng giai đoạn (pT3-4,N0M0 và pTbất kỳN1-2M0) được điều trị tại Bệnh viện K từ 2012 đến 2017. Kết quả nghiên cứu: Tỷ lệ sống thêm toàn bộ tại thời...... hiện toàn bộ
#Ung thư trực tràng #điều trị bổ trợ #hóa xạ trị sau phẫu thuật #thời gian sống thêm toàn bộ
Tổng số: 75   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 8